﻿using FluentNHibernate.Mapping;

namespace ControleRepresentante.Logic.Models.Maps
{
    public class VendedorMap : SubclassMap<Vendedor>
    {
        public VendedorMap()
        {
            Map(x => x.Nome)
                .Not.Nullable();
            Map(x => x.Nascimento)
                .Nullable();
            Map(x => x.Identidade)
                .Nullable();
            Map(x => x.CPF)
                .Nullable();
            HasMany(x => x.Clientes)
                .Access.PascalCaseField(Prefix.mUnderscore)
                .Inverse();
            HasMany(x => x.Pedidos)
                .Access.PascalCaseField(Prefix.mUnderscore)
                .Cascade.Delete()
                .Inverse();
            HasMany(x => x.RelatorioVisitas)
                .Access.PascalCaseField(Prefix.mUnderscore)
                .Cascade.Delete()
                .Inverse();
        }
    }
}